Introduction

What actually is "modding"?

As you probably already know, the word "modding" comes from "modifying", and "mod" can mean either "modification" or "module". But what the word means doesn't really matter.

Shortly put, "modding" means modifying something. In this case you're going to modify the game Mount&Blade or one of its derivatives. Modding actually is programming, but on a basic level, so if you have experience in programming, you shouldn't have any problems in understanding how to mod.

And how does modding in M&B work?

To understand this, you need to understand a few basic, easy concepts of programming. So, open up your Mount&Blade\Modules folder. There is the Native mod that ships with the game, and any mods you may have downloaded and played. Note that I say "Mount&Blade", but this can be any of the games you want. We'll presume we're talking about Warband, so your folder will be "Mount&Blade Warband". Or whatever.

Take a peek inside the Native folder. You'll see a bunch of text files and some folders. Open a text file, let's say "presentations.txt", and scroll down a bit... Unintelligible, isn't it? Except for some text here and there, the rest of it is digits. This is what the game reads, and this is how a mod looks like when it's done.

To make a mod, you can directly edit the text files, although this is a boring, tedious, error-prone job. My advice: don't do it. Of course, I also did it when I first started out (not to make a mod, but to give myself some über stats and... um... yeah). The other way is to use the "Module System", which is a set of script files (with understandable language and much less numbers!) that are compiled using Python, a programming language. It is important for you to know that although the files from the Module System (I call it ModSys for short) have the .py extension (Python file), the ModSys itself is not written in Python, and (for 99.99 % of your needs) you don't need to know it (yes, you can use it for complicated stuff if you know it.). The ModSys uses something way easier - just a bunch of "operations" which do the job. And after you mod these .py files, the real pythonic compiler compiles (translates) these files and creates the .txt files you saw earlier, which the game can read.

The M&B "language" does not have a fixed name. I call it Mount and Blade Language - MABL (pronounced "Mable"), but many people seems to prefer M&B Script. This does not matter at all, though. You can call it "Ni!" and it would still work. (If you have a shrubbery... lol)

All right, I got it. What do I need to do to modify my game?

It depends on what you want to do. If you want to tweak stuff, add some new items, or some troops, or change existing stuff, and you want to do this for personal use (mostly), you can edit the text files - either by hand (NOT recommended) or by using any suitable modder-made application from the Unofficial Editing Tools board. If you have a serious project in mind, you'll need the ModSys. Also, keep in mind that compiling the ModSys overwrites any changes done in the .txt files.

There are, in my humble opinion, three main categories of modding. These are Coding (writing scripts for awesome stuff, creating new game features) - which means working with the ModSys; Modelling (making the visible stuff: items, houses, anything that is a 3D model) - which is mostly not working with the ModSys although to add your stuff to the game you'll still need to know how the ModSys works; and Texturing (giving the 3D models an actual look by using drawings) - of course, most modellers are texturers, but you can include any other type of 2D art (and the game uses that too) in this category. ModSys knowledge not required, but recommended.

I'm beginning to think that you're going to talk about this ModSys even more.

You're right. I'm a coder. My 3D modelling skills are... hm, pre-intermediate at best, and my texturing skills are minimal (I'm sorry, but I can't draw with a mouse. I draw reasonably good on paper, but I suck hard with the mouse). And, as a coder, I'm going to focus more on the coding side. Of course, I'll talk only about the basics, which everyone should know.

And what if I don't want to be a coder?

Very good, but you could still learn something that you'll use someday in the future. If you're looking for software, you can use anything that exports as an .obj/.smd for models and anything that can edit .dds files for textures (or use the DDS Converter for that).

Software for 3D modelling includes Wings3D and Blender (freeware), 3DSMax, Maya, ZBrush (paid) and so on and so forth. Software for texturing includes GIMP, Paint.NET (freeware), Photoshop (paid) and others. Look around the tutorials in the forum to understand more game-specific stuff about modelling/texturing. This will be a very good place for you to start.

Kudos to you for reading these sentences. Of course, it's presumed you've read through the whole preamble.
Now grab yourself a beer or something... if you haven't already.

- Lumos

>> Continue to Localization and Modularity